home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / mf / inputs / amsfonts / amsmodes.mf next >
Text File  |  1995-03-15  |  6KB  |  170 lines

  1. %% @mffile{
  2. %%     filename="amsmodes.mf",
  3. %%     version="2.1",
  4. %%     date="30-MAY-1991",
  5. %%     filetype="Metafont: ",
  6. %%     copyright="Copyright (C) American Mathematical Society,
  7. %%            all rights reserved.  Copying of this file is
  8. %%            authorized only if either:
  9. %%            (1) you make absolutely no changes to your copy
  10. %%                including name; OR
  11. %%            (2) if you do make changes, you first rename it to some
  12. %%                other name.",
  13. %%     author="American Mathematical Society",
  14. %%     address="American Mathematical Society,
  15. %%            Technical Support Group,
  16. %%            P. O. Box 6248,
  17. %%            Providence, RI 02940,
  18. %%            USA",
  19. %%     telephone="401-455-4080 or (in the USA) 800-321-4AMS",
  20. %%     email="Internet: Tech-Support@Math.AMS.com",
  21. %%     codetable="ISO/ASCII",
  22. %%     checksumtype="line count",
  23. %%     checksum="169",
  24. %%     keywords="amsfonts, tex, metafont  ",
  25. %%     abstract=""
  26. %%     }
  27. %
  28. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  29. % AMSMODES.MF        Version 2.1       3/21/91
  30. % This file is based on Stanford's WAITS.mf.  A few extra modes
  31. % are added and the file CURMODE.mf is input at the end if
  32. % the variable "mode" is unknown.
  33.  
  34. % This file can be loaded after PLAIN.MF.
  35. % It introduces conventions that are commonly used at WAITS.
  36. base_version:=base_version&"/WAITS";
  37.  
  38. % The WAITS implementation allows an extended character set;
  39. % characters :=, <=, <>, and >= are put into the class with <, =, >, :, and |;
  40. % character ^^L (form feed) is in a class by itself, and is like an "outer" \.
  41. % Files containing these special characters should not be expected to work
  42. % elsewhere unless the following replacements are made:
  43.   let <= = <=;
  44.   let <> = <>;
  45.   let >= = >=;
  46.   let := = :=;
  47.  
  48. % We make the following modification of "mode_def" from PLAIN in order
  49. % to accomodate modes not preloaded in MF.  Even though mode had been
  50. % set dependently on the command line (as with mode=talaris), when
  51. % mode_def came along to define "talaris" the assignment operator
  52. % (:=) wiped out that dependency and left mode hanging and undefined
  53. % when mode_setup was called.  We simply add a test to see whether
  54. % "mode" has been set to the mode being defined.
  55.  
  56. % Furthermore, if mode was set to a mode which was preloaded and
  57. % that mode was re-defined at run-time, the value of mode would
  58. % only pick up the old definition.  So, for the other case,
  59. % that the mode being defined already has a numeric realization,
  60. % we avoid redefining that mode's (behind-the-scenes) value.
  61.  
  62. % We also add the following macros to enable conditional "and"
  63. % and "or".  See The MEtafontBook, pp.288-9
  64.  
  65. def cand(text q) = startif true q else: false fi enddef;
  66. def cor(text q) = startif true true else: q fi enddef;
  67. tertiarydef p startif true = if p: enddef;
  68.  
  69.  
  70. def mode_def suffix $ =
  71.  if known($) cand
  72.    (numeric $ cand
  73.    ($<number_of_modes cand
  74.    (mode_name[$] = (str $ & "_")))):
  75.  else: if known(mode-$) cand (unknown mode): mode:= fi
  76.        $:=incr number_of_modes;
  77.        mode_name[$]:=str$ & "_";
  78.  fi
  79.  expandafter quote def scantokens mode_name[$] enddef;
  80.  
  81.  
  82. screen_rows:=400; screen_cols:=480;
  83.  
  84. % Here are conventions for local output devices:
  85.  
  86. mode_def pcscreen =  % pcscreen mode: for screen fonts (118dpi)
  87.  proofing:=0;      % no, we're not making proofs
  88.  fontmaking:=1;      % yes, we are making a font
  89.  tracingtitles:=0;    % no, don't show titles in the log
  90.  pixels_per_inch:=118;
  91.  blacker:=0;      % Canon engine is black enough
  92.  fillin:=0;      % and it tends to fill in diagonals
  93.  o_correction:=0;    % don't overshoot
  94.  enddef;          
  95.  
  96. mode_def epsonlq =  % epsonlq mode: for the Epson LQ and Toshiba
  97.  proofing:=0;      % no, we're not making proofs
  98.  fontmaking:=1;      % yes, we are making a font
  99.  tracingtitles:=0;    % no, don't show titles in the log
  100.  pixels_per_inch:=180;
  101.  blacker:=0;      % don't make pens any blacker
  102.  fillin:=0;      % and don't compensate for diagonal fillin
  103.  o_correction:=.3;    % but don't overshoot much
  104.  enddef;
  105.  
  106. mode_def epsonx =  % Epson 240dpi
  107.  proofing:=0;      % no, we're not making proofs
  108.  fontmaking:=1;      % yes, we are making a font
  109.  tracingtitles:=0;    % no, don't show titles in the log
  110.  pixels_per_inch:=240;    % lowres
  111.  blacker:=0;      % don't make the pens any blacker
  112.  fillin:=0;      % and don't compensate for fillin
  113.  o_correction:=.2;    % but suppress most overshoots
  114.  aspect_ratio:=9/10;    % 216 dots/inch vertical
  115.  enddef;
  116.  
  117. mode_def laser =  % laser mode: for the Apple LaserWriter or Canon 300dpi
  118.  proofing:=0;      % no, we're not making proofs
  119.  fontmaking:=1;      % yes, we are making a font
  120.  tracingtitles:=0;    % no, don't show titles in the log
  121.  pixels_per_inch:=300;
  122.  blacker:=0;      % Canon engine is black enough
  123.  fillin:=.2;      % and it tends to fill in diagonals
  124.  o_correction:=.6;    %
  125.  enddef;          
  126.  
  127. mode_def fourc =  % for 400dpi printers 
  128.  proofing:=0;      % no, we're not making proofs
  129.  fontmaking:=1;      % yes, we are making a font
  130.  tracingtitles:=0;    % no, don't show titles in the log
  131.  pixels_per_inch:=400;
  132.  blacker:=0;      % engine is black enough
  133.  fillin:=.2;      % and it tends to fill in diagonals
  134.  o_correction:=.6;    %
  135.  enddef;          
  136.  
  137. % macintosh mode: for screen fonts (72dpi) & imagewriter (144dpi)
  138. mode_def macintosh =  
  139.  proofing:=0;      % no, we're not making proofs
  140.  fontmaking:=1;      % yes, we are making a font
  141.  tracingtitles:=0;    % no, don't show titles in the log
  142.  pixels_per_inch:=72;
  143.  blacker:=0;      % Don't blacken
  144.  fillin:=0;      % 
  145.  o_correction:=0;    %
  146.  enddef;          
  147.  
  148. mode_def notimagewriter =  % notimagewriter mode: to get 129pk for screen
  149.        % Largest resolution which guarantees at least one point size less
  150.        % than imagewriter size.
  151.  proofing:=0;      % no, we're not making proofs
  152.  fontmaking:=1;      % yes, we are making a font
  153.  tracingtitles:=0;    % no, don't show titles in the log
  154.  pixels_per_inch:=129;
  155.  blacker:=0;      % Don't blacken
  156.  fillin:=0;      % 
  157.  o_correction:=0;    %
  158.  enddef;          
  159.  
  160. inner end;
  161. def bye=
  162.  if fontmaking>0: font_family font_identifier_;
  163.   coding_scheme font_coding_scheme_;
  164.   font_face_byte max(0,254-round 2designsize); fi
  165.  tracingstats:=1;  % at least for now we want this
  166.  end
  167.  enddef;
  168.  
  169. outer bye,end;
  170.